/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.opgea.qms.service;

import com.opgea.qms.domain.entities.Token;
import com.opgea.qms.domain.model.TokenStatusReplyModel;
import com.opgea.qms.domain.qualifiers.TokenStatusQualifier;
import com.opgea.qms.web.form.TokenDetailsDTO;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Ramesh
 */
public interface TokenService {
    
    public Token create(Token token);
    public Token update(Token token);
    public Token find(Long id);
    public Token findAll();
    public Integer getMaxTokenNumber(Long companyId, String dateString);
    public List<TokenDetailsDTO> findAllByCompanyId(Long companyId, Date date);
    public List<TokenDetailsDTO> findAllByCompanyIdAndStatus(Long companyId, Date date, TokenStatusQualifier qualifier);
    public TokenStatusReplyModel tokenReply(Long companyId, Integer tokenNo);
}
